<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        //1. Star.prototype.toString.call([12, 3])
        console.log(Object.prototype.toString.call({}));
        //2. 
        // typepeof 运算符 typeof 是一元运算符， 返回结果是一个说明运算数类型的字符串。 如： "number"，
        // "string"，
        // "boolean"，
        // "object"，
        // "function"，
        // "undefined"（
        // 可用于判断变量是否存在）。 但 typeof 的能力有限， 其对于Date、 RegExp类型返回的都是 "object"。
        // 如：
        console.log(typeof 5);
        console.log(typeof [1]);
        console.log(typeof {
            name: 2
        });

        /** 只能检测能够实例化的类型
         * instanceof 运算符或对象的 constructor 属。 2）instanceof 运算符。
         *  instanceof 运算符要求其左边的运算数是一个对象，
         * 右边的运算数是对象类的名字或构造函数。
         * 如果 object 是 class 或构造函数的实例，
         * 则 instanceof 运算符返回 true。如果 object 不是指定类或函数的实例，
         * 或者 object 为 null，则返回 false
         * 
         */
        console.log([] instanceof Array);
        console.log({} instanceof Object);
        console.log(function() {}
            instanceof Function);
    </script>
</body>

</html>